#include<iostream>
#include<time.h>
#include<stdlib.h>
#include<vector>
#include<limits.h>
using namespace std;
void Sort(vector<int>& arr)
{
   // int n=arr.size();
    int mx=INT_MIN,mi=INT_MAX;
    for(auto val:arr)
    {
        if(val>mx) mx=val;
        if(val<mi) mi=val;
    }
    int m=mx-mi+1;
    vector<int> ct(m);
    for(auto val:arr)
        ct[val-mi]++;
    int j=0;
    for(int i=0;i<m;i++)
    {
        while(ct[i])
        {
            arr[j++]=i+mi;
            ct[i]--;
        }
    }
}
int main()
{
    int k=10;
    while(k--)
    {
        int N=10+rand()%11;
        vector<int> arr(N);
        for(int i=0;i<N;i++)
        {
            arr[i]=rand()%100+1;
            cout<<arr[i]<<' ';
        }
        Sort(arr);
        cout<<endl;
        for(auto val:arr) cout<<val<<' ';
        cout<<endl<<endl;
    }
    return 0;
}
